package com.chapter14;

import java.util.ArrayList;
import java.util.List;

//抽象的通知者
public abstract class Subject {
    private List<Observer> observers = new ArrayList<>();

    //增加观察者
    public void Attach(Observer observer){
        observers.add(observer);
    }

    //移除观察者
    public void Detach(Observer observer){
        observers.remove(observer);
    }

    //通知
    public void notifyObservers(){
        for(Observer o : observers){
            o.Update();
        }
    }
}
